In code division multiple access (CDMA) communication systems, multiple communications may be simultaneously sent over a shared frequency spectrum. Each communication is distinguished by the code used to transmit the communication.
In some CDMA communication systems, to better utilize the shared spectrum, the spectrum is time divided into frames having a predetermined number of time slots, such as fifteen time slots. This type of system is referred to as a hybrid CDMA/time division multiple access (TDMA) communication system. One such system, which restricts uplink communications and downlink communications to particular time slots, is a time division duplex communication (TDD) system.
One approach to receive the multiple communications transmitted within the shared spectrum is joint detection. In joint detection, the data from the multiple communications is determined together. In the following description a capitalized symbol X represents a matrix, and the symbol {right arrow over (x)} represents a column vector. The joint detection is typically modeled per Equation 1:{right arrow over (r)}=A{right arrow over (d)}+{right arrow over (n)};  Equation 1The received signal vector {right arrow over (r)} is a function of the system transmission matrix A, the transmittal data vector {right arrow over (d)}, and the noise vector {right arrow over (n)}. The system transmission matrix A contains the contributions of individual users as per Equation 2:A=[A(1), A(2), . . . ,A(K)];  Equation 2Where A(k) represents the contribution of user k to the system transmission matrix A. Each user system transmission matrix is a function of the channel impulse response and the spreading code of that user per Equation 3:A(k)=H(k)C(k);  Equation 3Where H(k) is the channel response matrix and C(k) is the code matrix for user k.
A Minimum Mean Square Error (MMSE) estimate for the data vector {right arrow over ({circumflex over (d)} is obtained from Equation 4:{right arrow over ({circumflex over (d)}=(A11Rn−1A)−1AHRn−1{right arrow over (r)};  Equation 4where Rn is the covariance matrix of the noise. When the noise is white, Rn is a diagonal matrix and the MMSE estimate for the data is per Equations 5A and 5B:{right arrow over ({circumflex over (d)}=(AHA+σ2I)−1AH{right arrow over (r)};  Equation 5Awhich may alternatively be written as:{right arrow over ({circumflex over (d)}=AH(AAH+σ2I)−1{right arrow over (r)};  Equation 5BEquations 5A and 5B are interchangeable using matrix inversion lemma.
Similarly, a zero forcing (ZF) estimate is obtained from Equations 6A and 6B:{right arrow over ({circumflex over (d)}=(AHA)−1AH{right arrow over (r)};  Equation 6Awhich may also be written as:{right arrow over ({circumflex over (d)}=AH(AAH)−1{right arrow over (r)};  Equation 6BEquations 6A and 6B are interchangeable using matrix inversion lemma.
In a CDMA system, when all codes go through the same propagation channel, as in the case of a typical downlink transmission or when one uplink user monopolizes a time slot (H(k)=H) the transmitted vector of spread symbols {right arrow over (s)} are obtained from Equation 7:
                                          s            →                    =                                    C              ⁢                                                          ⁢                              d                →                                      =                                          ∑                                  k                  =                  1                                κ                            ⁢                                                ·                                      C                                          (                      k                      )                                                                      ⁢                                                      d                    →                                                        (                    k                    )                                                                                      ;                            Equation        ⁢                                  ⁢        7            The received signal is modeled using Equation 8:{right arrow over (r)}=H{right arrow over (s)}+{right arrow over (n)};  Equation 8
The MMSE estimate for the spread symbols {right arrow over (s)} is obtained as shown in Equations 9A and 9B:{right arrow over (ŝ)}=(HHH+σ2I)−1HH{right arrow over (r)};  Equation 9Aor equivalently:{right arrow over (ŝ)}=HH(HHH+σ2I)−1{right arrow over (r)};  Equation 9BEquations 9A and 9B are interchangeable using matrix inversion lemma. The ZF estimate, (derived from Equation 6) for {right arrow over (ŝ)} is obtained by Equations 10A and 10B:{right arrow over (ŝ)}=(HHH)−1HH{right arrow over (r)};  Equation 10Aor equivalently:{right arrow over (ŝ)}=HH(HHH)−1{right arrow over (r)};  Equation 10BEquations 10A and 10B are interchangeable using matrix inversion lemma. The estimate of the spread symbols {right arrow over (ŝ)} can be followed by a code Matched Filter (MF) to recover the data symbols.
When multiple antennas are used at the receiver, the received vector may also be represented by Equation 1. The definition of the vectors and matrix involved are modified to represent the contributions from different antennas as per Equation 11:
                                          [                                                                                                      r                      →                                        1                                                                                                ⋮                                                                                                                        r                      →                                        N                                                                        ]                    =                                                    [                                                                                                    A                        1                                                                                                                        ⋮                                                                                                                          A                        N                                                                                            ]                            ⁢                              d                →                                      +                          [                                                                                          n                      →                                                                                                            ⋮                                                                                                                                      n                        →                                            N                                                                                  ]                                      ;                            Equation        ⁢                                  ⁢        11            Where {right arrow over (r)}i, Ai, and {right arrow over (n)}i are the terms associated with receive antenna element i. Ai is constructed for each antenna with a different channel response per Equation 3 and A has components associated with each of K users per Equation 12:A=[A(1), A(2), . . . , A(K)];  Equation 12
When multiple transmit antenna elements, such as M transmit elements, are used at the transmitter, the received vector {right arrow over (r)}i is also per Equation 1. The appropriate definition of the vectors and matrix involved is represented in Equation 13:
                                          r            →                    =                                                    [                                                      A                    1                                          ′                      ⁢                                                                                                                            ⁢                  …                  ⁢                                                                          ⁢                                      A                    M                    ′                                                  ]                            ⁡                              [                                                                                                                              d                          →                                                1                                                                                                                        ⋮                                                                                                                                                    d                          →                                                M                                                                                            ]                                      +                          n              →                                      ;                            Equation        ⁢                                  ⁢        13            where {right arrow over (r)} is the composite received signal, and A′m, m=1,2, . . . , M is the system transmission matrix for signal transmission from the mth transmit element to the receiver, {right arrow over (d)}m, m=1,2 . . . M is the data vector transmitted from transmit antenna m.
The components of A due to an ith antenna element is denoted as Ai′. Each Ai′ component has contributions from all K users per Equation 14:A′=[A′(1),A′(2), . . . , A′(K)];  Equation 14The contribution of each user to each antenna element is a function of the channel impulse response and the spreading (derived from Equation 3) codes as shown in Equation 15:A′(k)=H′(k)C(k);  Equation 15
Multiple antennas at both the transmitter and the receiver are referred to as a Multiple Input Multiple Output (MIMO) system. The received signal for a MIMO system may be represented by Equation 11 rewritten as Equation 16.
                                          [                                                                                                      r                      →                                        1                                                                                                ⋮                                                                                                                        r                      →                                        N                                                                        ]                    =                                                                      [                                                                                                              A                          1                                                                                                                                    ⋮                                                                                                                                      A                          N                                                                                                      ]                                ⁢                                                                  [                                                      A                                          1                      ⁢                                                                                                            ′                                    ⁢                  …                  ⁢                                                                          ⁢                                      A                    M                    ′                                                  ]                            ⁡                              [                                                                                                                              d                          →                                                1                                                                                                                        ⋮                                                                                                                                                    d                          →                                                M                                                                                            ]                                      +                          [                                                                                          n                      →                                                                                                            ⋮                                                                                                                                      n                        →                                            N                                                                                  ]                                      ;                            Equation        ⁢                                  ⁢        16            Where N is the number of receive antennas; M is the number of transmit antennas; An, n=1,2, . . . , N the transmission matrix for reception; and A′m, m=1,2, . . . , M is the transmission matrix for transmission. With appropriate definitions of vectors and matrices involved, Equation 16 is rewritten as Equation 17:{right arrow over (r)}=Λ{right arrow over (d)}+{right arrow over (n)};  Equation 17where Λ is the composite system transmission matrix for both transmission and reception. The MMSE estimate for the data vector shown in Equation 5 is represented by Equations 18A and 18B:{right arrow over ({circumflex over (d)}=(ΛHΛ+σ2I)−1ΛH{right arrow over (r)};  Equation 18Aor equivalently:{right arrow over ({circumflex over (d)}=ΛH(ΛΛH+σ2I)−1{right arrow over (r)};  Equation 18BEquations 18A and 18B are interchangeable using matrix inversion lemma. The ZF estimate can be obtained from Equations 19A and 19B:{right arrow over ({circumflex over (d)}=(ΛHΛ)−1ΛH{right arrow over (r)};  Equation 19Aor equivalently:{right arrow over ({circumflex over (d)}=ΛH(ΛΛH)−1{right arrow over (r)};  Equation 19BEquations 19A and 19B are interchangeable using matrix inversion lemma.
A receiver implementing these approaches effectively performs a matrix inversion, which has a high complexity. To reduce the complexity, an approximate Cholesky decomposition or fast Fourier transforms are used. Although these approaches reduce the receiver complexity, it is desirable to have alternate approaches to simplify the transmitting and receiving of data.